home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 2
/
Atari Mega Archive CD - Volume 2.iso
/
8bit
/
cislib_b
/
pasexp.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-04-22
|
650b
|
33 lines
FUNCTION Power(a,n : Real) : Real;
(* LITE VERSION *)
BEGIN
Power := Exp(n * Ln(a))
END; (* Power, 'lite' version *)
FUNCTION Power (x : Real; n : Real) : Real;
(* PRO VERSION *)
FUNCTION Pwr(n : Integer) : Real;
BEGIN (* Recursive Pwr function *)
IF n = 1 THEN
Pwr := x
ELSE IF Odd(n) THEN
Pwr := Sqr(Pwr(n DIV 2)) * x
ELSE
Pwr := Sqr(Pwr(n DIV 2))
END;(* Pwr *)
BEGIN (* Power *)
IF x = 0 THEN
Power :=0
ELSE IF n = 0 THEN
Power := 1
ELSE IF Frac(n) <> 0 THEN
Power := Exp(n * Ln(x))
ELSE IF n < 0 THEN
Power := 1/Pwr(-Trunc(n))
ELSE
Power := Pwr(Trunc(n))
END;(* Power *)